<template>
  <div class="register">
    <el-menu  class="el-menu-title" mode="horizontal">
      <img style="height:58px" src="@/assets/logo/BeiLianlogo.png"/>
      <el-menu-item style="float: right"  index="5"><router-link class="link-type" :to="'/login'">立即登录</router-link></el-menu-item>
      <el-submenu style="float: right"  index="4">
        <template slot="title">联系我们</template>
        <img style="width: 200px" src="@/assets/images/qr.jpg" />
      </el-submenu>
      <el-menu-item style="float: right" index="3"><a href="https://www.kdocs.cn/l/coqoKmKuRlTL" target="_blank">文档</a></el-menu-item>
      <el-menu-item style="float: right" index="2"><a href="https://www.beilianjd.com" target="_blank">公司官网</a></el-menu-item>
      <el-submenu style="float: right"  index="1">
        <template slot="title">产品</template>
        <el-menu-item index="1-1">通用版</el-menu-item>
        <el-menu-item index="1-2">门窗版</el-menu-item>
        <el-menu-item index="1-3">兽药版</el-menu-item>
      </el-submenu>
    </el-menu>

    <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
      <h3 class="title">ERP进销存管理系统_找回密码</h3>
      <t-steps :defaultCurrent="0" style="margin-bottom: 15px">
        <t-step-item title="手机号"  />
        <t-step-item title="修改密码"  />
      </t-steps>

      <el-form-item prop="tenantId">
        <el-input v-model="registerForm.tenantId" type="text" auto-complete="off" placeholder="租户ID">
          <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
        </el-input>
      </el-form-item>

      <el-form-item prop="telePhone">
        <el-input
          v-model="registerForm.telePhone"
          type="text"
          auto-complete="off"
          placeholder="手机号码"
        ><svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
        </el-input>
      </el-form-item>


      <el-form-item prop="smsCode"  >
        <el-input ref="code" v-model="registerForm.smsCode" style="width: 63%" type="text" placeholder="请输入短信验证码" name="code" abindex="2" maxlength="6" auto-complete="on" @keyup.enter.native="handleLogin" >
          <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon"/>
        </el-input>
        <span class="show-pwd" style="margin-left: 15px">
                  <el-button :loading="sending" :disabled="sendDisabled" size="small" @click="onSendSms">{{ sendButtonText }}</el-button>
            </span>
      </el-form-item>


      <el-form-item style="width:100%;">
        <el-button
          :loading="loading"
          size="medium"
          type="primary"
          style="width:100%;"
          @click.native.prevent="handleNext"
        >
          <span >下一步</span>

        </el-button>
        <div style="float: right;">
          <router-link class="link-type" :to="'/login'">返回登录</router-link>
        </div>
      </el-form-item>
    </el-form>
    <!--  底部  -->
    <div class="el-register-footer">
      <span>Copyright © 2018-2024 Beilianjidian | <a href="https://beian.miit.gov.cn/">桂ICP备2022003700号-1</a></span>
    </div>
  </div>
</template>

<script>
import { creat, getCodeImg, inittable, register, getsmsCode, forgotPwd } from '@/api/login'
import Cookies from "js-cookie";
import Moments  from "moment";
export default {
  name: "Register",
  data() {
    return {
      codeUrl: "",
      registerForm: {
        tenantId: "",
        smsCode:"",
        telePhone:"",
        smsUuid:""
      },
      sendDisabled: false,
      timer: 0,
      sending: false,

      registerRules: {
        tenantId: [
          { required: true, trigger: "blur", message: "请输入租户ID" },
          { min: 2, max: 20, message: '租户ID长度必须介于 2 和 20 之间', trigger: 'blur' },
          { pattern:/^\w+$/, message: '请输入字母/数字/下划线', trigger: 'blur' }
        ],
        smsCode: [{ required: true, trigger: 'blur', message: '请输入短信验证码' }],
        telePhone: [
          {
            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
            message: '请输入正确的手机号码',
            trigger: 'blur'
          },
          {required: true, trigger: 'blur', message: '请输入手机号' }
        ]
      },
      loading: false,
      captchaEnabled: true
    };
  },
  watch: {
  timer(num) {
    if (num > 0) {
      setTimeout(() => {
        this.timer = --num;
      }, 1000);
    }else{
      this.sendDisabled = false;
    }
  }
  },
  created() {
    // this.getCode();
    const lastSendTime = Cookies.get("last-send-time");
    if (lastSendTime) {
      const timer = 60 - Moments().diff(Moments(lastSendTime), "seconds");
      if(timer > 0){
        this.timer = timer;
        this.sendDisabled = true;
      }else{
        this.timer = 0;
        this.sendDisabled = false;
      }
    }
  },
  computed: {
    sendButtonText() {
      if (this.timer === 0) {
        return "发送验证码";
      } else {
        return `${this.timer}秒后重发`;
      }
    }
  },
  methods: {
    onSendSms() {
      this.$refs.registerForm.validateField("telePhone", err => {
        if (!err) {
          this.sending = true;
          getsmsCode(this.registerForm)
            .then((re) => {
              console.log(re)
              this.$message.success("短信发送成功，请注意查收");
              Cookies.set("last-send-time", new Date());
              this.timer = 60;
              this.sendDisabled = true;
              this.registerForm.smsUuid = re.msg;
            })
            .catch(e => {
              this.sendDisabled = false;
              console.log(e);
            })
            .finally(() => (this.sending = false));
        }
      });
    },
    handleNext(){
      this.$refs.registerForm.validate(valid => {
        if (valid) {
          forgotPwd(this.registerForm).then((re)=>{
            this.$router.push({name:'forgot2',params:{
                rTenantId:this.registerForm.tenantId,
                rTelePhone: this.registerForm.telePhone,
                rSmsCode: this.registerForm.smsCode,
                rSmsUuid:this.registerForm.smsUuid,
              }});
          })
        }
      });

    }
  }
}
</script>

<style rel="stylesheet/scss" lang="scss">
.register {
  //display: flex;
  //justify-content: center;
  //align-items: center;
  height: 100%;
  background:linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../assets/images/erp.jpg") no-repeat 0% 20%/ cover;
  background-size: cover;
}
.title {
  margin: 0px auto 30px auto;
  text-align: center;
  color: #707070;
}

.register-form {
  border-radius: 6px;
  background: #ffffff;
  width: 400px;
  padding: 25px 25px 5px 25px;
  margin: 10% auto auto 59%;
  .el-input {
    height: 38px;
    input {
      height: 38px;
    }
  }
  .input-icon {
    height: 39px;
    width: 14px;
    margin-left: 2px;
  }
}
.register-tip {
  font-size: 13px;
  text-align: center;
  color: #bfbfbf;
}
.register-code {
  width: 33%;
  height: 38px;
  float: right;
  img {
    cursor: pointer;
    vertical-align: middle;
  }
}
.el-register-footer {
  height: 40px;
  line-height: 40px;
  position: fixed;
  bottom: 0;
  width: 100%;
  text-align: center;
  color: #fff;
  font-family: Arial;
  font-size: 12px;
  letter-spacing: 1px;
}
.register-code-img {
  height: 38px;
}
.el-menu-title{
  background: rgba(133, 121, 121, 0.56);
}
.el-menu--horizontal > .el-menu-item {
  color:#e5e7eb;
}
.el-menu--horizontal > .el-submenu .el-submenu__title{
  color:#e5e7eb;
}
</style>
